package com.sztx.pay.center.dataaccess.domain;

import com.sztx.se.dataaccess.mysql.domain.BaseDO;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@SuppressWarnings("serial")
public class OrderB2cDO extends BaseDO implements Serializable{
    /**
    * B2C交易订单ID(业务订单号)
     */
    private String tradeOrderId;

    /**
    * 外部订单号
     */
    private String orderId;

    /**
    * 购买用户ID
     */
    private String payerUserId;

    /**
    * 购买用户账户
     */
    private String payerUserAct;

    /**
    * 商户ID
     */
    private String payeeUserId;

    private String payeeUserAct;

    /**
    * 关联ID，绑卡关联ID
     */
    private String payerBindNo;

    /**
    * 银行编号
     */
    private String payBankId;

    /**
    * 购买价格
     */
    private Long tradeAmount;

    /**
    * 商品名称
     */
    private String goodsName;

    /**
    * 担保类型，0及时，1担保
     */
    private Integer guaranteeType;

    /**
    * 实际金额
     */
    private Long payAmount;
    
    /**
    * 订单类型
     */
    private Integer orderType;
    
    /**
    * 来源IP
     */
    private String sourceIp;

    /**
    * 订单状态
     */
    private Integer orderStatus;
    /**
     * 订单描述
     */
    private String orderDesc;

    /**
    * 订单生成时间
     */
    private Date addTime;

    /**
    * 更新时间
     */
    private Date updateTime;

    /**
    * 实际支付时间
     */
    private Date payTime;

    /**
    * 确认收货时间
     */
    private Date sureReceiveTime;

    /**
    * 内部状态，0正常，1作废   2异常   
     */
    private Integer innerStatus;
    
    /**
     * 内部状态描述  
     */
    private String innerDesc;

    /**
    * 渠道类型
     */
    private Integer channelType;

    /**
    * 支付类型，0网银，1快捷支付等
     */
    private Integer payType;

    /**
    * 前端回调通知URL
     */
    private String notifyUrl;

    /**
    * 后端回调返回URL
     */
    private String returnUrl;

    /**
    * 订单渠道，1网站，2手机，3微信等
     */
    private Integer orderChannel;

    /**
    * 描述
     */
    private String goodsDetail;

    /**
    * 备注
     */
    private String attach;
    
    /**
     * 下单时间
     */
    private Date orderTime;

    /**
     * 失效时间
     */
    private Date expireTime;
    
    /**
     * 用户openId
     */
    private String openId;
    
    /**
     * 手续费fee
     */
    private Integer fee;
    
    /**
	 * 平台渠道id
	 */
	protected String platChannelId;
	/**
	 * 业务类型(mobileCharge、weChatMall.....)
	 */
	protected String businessType;
	/**
	 * 商品类别（1、实物 2、虚拟）
	 */
	protected int productType;
	/**
	 * 风控参数
	 */
	protected String riskParams;
	
	 /**
     *  结算时间
     */
    private Date settleTime;
    
    private String payParams;
    
	/**
	 * 业务类型描述
	 * 
	 * 映射：risk_trade_type.trade_type_name
	 */
	protected String businessTypeDes;
	
	/**
	 * 支付渠道
	 */
	private String payChannelId;

	/*========= 添加额外字段 ==========*/
	/**
	 * 退款金额 [当该B2C订单进行退款后就会有退款金额]
	 */
	private BigDecimal refundAmount;

    public String getPayChannelId() {
		return payChannelId;
	}

	public void setPayChannelId(String payChannelId) {
		this.payChannelId = payChannelId;
	}

	public String getPlatChannelId() {
		return platChannelId;
	}

	public void setPlatChannelId(String platChannelId) {
		this.platChannelId = platChannelId;
	}

	public String getBusinessType() {
		return businessType;
	}

	public void setBusinessType(String businessType) {
		this.businessType = businessType;
	}

	public int getProductType() {
		return productType;
	}

	public void setProductType(int productType) {
		this.productType = productType;
	}

	public String getRiskParams() {
		return riskParams;
	}

	public void setRiskParams(String riskParams) {
		this.riskParams = riskParams;
	}

	/**
     * 是否 使用免密支付
     */
    private byte isUsePwd;
    /**
     * @return trade_order_id
     */
    public String getTradeOrderId() {
        return tradeOrderId;
    }

    /**
     * @param tradeOrderId
     */
    public void setTradeOrderId(String tradeOrderId) {
        this.tradeOrderId = tradeOrderId;
    }

    /**
     * @return order_id
     */
    public String getOrderId() {
        return orderId;
    }

    /**
     * @param orderId
     */
    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    /**
     * @return payer_user_id
     */
    public String getPayerUserId() {
        return payerUserId;
    }

    /**
     * @param payerUserId
     */
    public void setPayerUserId(String payerUserId) {
        this.payerUserId = payerUserId;
    }

    /**
     * @return payer_user_act
     */
    public String getPayerUserAct() {
        return payerUserAct;
    }

    /**
     * @param payerUserAct
     */
    public void setPayerUserAct(String payerUserAct) {
        this.payerUserAct = payerUserAct;
    }

    /**
     * @return payee_user_id
     */
    public String getPayeeUserId() {
        return payeeUserId;
    }

    /**
     * @param payeeUserId
     */
    public void setPayeeUserId(String payeeUserId) {
        this.payeeUserId = payeeUserId;
    }

    /**
     * @return payee_user_act
     */
    public String getPayeeUserAct() {
        return payeeUserAct;
    }

    /**
     * @param payeeUserAct
     */
    public void setPayeeUserAct(String payeeUserAct) {
        this.payeeUserAct = payeeUserAct;
    }

    

    /**
     * @return trade_amount
     */
    public Long getTradeAmount() {
        return tradeAmount;
    }

    /**
     * @param tradeAmount
     */
    public void setTradeAmount(Long tradeAmount) {
        this.tradeAmount = tradeAmount;
    }

    /**
     * @return goods_name
     */
    public String getGoodsName() {
        return goodsName;
    }

    /**
     * @param goodsName
     */
    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    /**
     * @return guarantee_type
     */
    public Integer getGuaranteeType() {
        return guaranteeType;
    }

    /**
     * @param guaranteeType
     */
    public void setGuaranteeType(Integer guaranteeType) {
        this.guaranteeType = guaranteeType;
    }

    /**
     * @return pay_amount
     */
    public Long getPayAmount() {
        return payAmount;
    }

    /**
     * @param payAmount
     */
    public void setPayAmount(Long payAmount) {
        this.payAmount = payAmount;
    }

    public Integer getOrderType() {
		return orderType;
	}

	public void setOrderType(Integer orderType) {
		this.orderType = orderType;
	}

	/**
     * @return source_ip
     */
    public String getSourceIp() {
        return sourceIp;
    }

    /**
     * @param sourceIp
     */
    public void setSourceIp(String sourceIp) {
        this.sourceIp = sourceIp;
    }

    /**
     * @return order_status
     */
    public Integer getOrderStatus() {
        return orderStatus;
    }

    /**
     * @param orderStatus
     */
    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    /**
     * @return add_time
     */
    public Date getAddTime() {
        return addTime;
    }

    /**
     * @param addTime
     */
    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    /**
     * @return update_time
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * @param updateTime
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * @return pay_time
     */
    public Date getPayTime() {
        return payTime;
    }

    /**
     * @param payTime
     */
    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    /**
     * @return sure_receive_time
     */
    public Date getSureReceiveTime() {
        return sureReceiveTime;
    }

    /**
     * @param sureReceiveTime
     */
    public void setSureReceiveTime(Date sureReceiveTime) {
        this.sureReceiveTime = sureReceiveTime;
    }

    /**
     * @return inner_status
     */
    public Integer getInnerStatus() {
        return innerStatus;
    }

    /**
     * @param innerStatus
     */
    public void setInnerStatus(Integer innerStatus) {
        this.innerStatus = innerStatus;
    }

    /**
     * @return channel_type
     */
    public Integer getChannelType() {
        return channelType;
    }

    /**
     * @param channelType
     */
    public void setChannelType(Integer channelType) {
        this.channelType = channelType;
    }

    /**
     * @return pay_type
     */
    public Integer getPayType() {
        return payType;
    }

    /**
     * @param payType
     */
    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    /**
     * @return notify_url
     */
    public String getNotifyUrl() {
        return notifyUrl;
    }

    /**
     * @param notifyUrl
     */
    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    /**
     * @return return_url
     */
    public String getReturnUrl() {
        return returnUrl;
    }

    /**
     * @param returnUrl
     */
    public void setReturnUrl(String returnUrl) {
        this.returnUrl = returnUrl;
    }

    /**
     * @return order_channel
     */
    public Integer getOrderChannel() {
        return orderChannel;
    }

    /**
     * @param orderChannel
     */
    public void setOrderChannel(Integer orderChannel) {
        this.orderChannel = orderChannel;
    }

    /**
     * @return goods_detail
     */
    public String getGoodsDetail() {
        return goodsDetail;
    }

    /**
     * @param goodsDetail
     */
    public void setGoodsDetail(String goodsDetail) {
        this.goodsDetail = goodsDetail;
    }

    /**
     * @return attach
     */
    public String getAttach() {
        return attach;
    }

    /**
     * @param attach
     */
    public void setAttach(String attach) {
        this.attach = attach;
    }
    
	public Date getOrderTime() {
		return orderTime;
	}

	public void setOrderTime(Date orderTime) {
		this.orderTime = orderTime;
	}

	public Date getExpireTime() {
		return expireTime;
	}

	public void setExpireTime(Date expireTime) {
		this.expireTime = expireTime;
	}

	public String getOpenId() {
		return openId;
	}

	public void setOpenId(String openId) {
		this.openId = openId;
	}

	public Integer getFee() {
		return fee;
	}

	public void setFee(Integer fee) {
		this.fee = fee;
	}

	public byte getIsUsePwd() {
		return isUsePwd;
	}

	public void setIsUsePwd(byte isUsePwd) {
		this.isUsePwd = isUsePwd;
	}

	public String getOrderDesc() {
		return orderDesc;
	}

	public void setOrderDesc(String orderDesc) {
		this.orderDesc = orderDesc;
	}

	public String getInnerDesc() {
		return innerDesc;
	}

	public void setInnerDesc(String innerDesc) {
		this.innerDesc = innerDesc;
	}

	public Date getSettleTime() {
		return settleTime;
	}

	public void setSettleTime(Date settleTime) {
		this.settleTime = settleTime;
	}

	public String getPayerBindNo() {
		return payerBindNo;
	}

	public void setPayerBindNo(String payerBindNo) {
		this.payerBindNo = payerBindNo;
	}

	public String getPayBankId() {
		return payBankId;
	}

	public void setPayBankId(String payBankId) {
		this.payBankId = payBankId;
	}

	
	public String getPayParams() {
		return payParams;
	}

	public void setPayParams(String payParams) {
		this.payParams = payParams;
	}

	public String getBusinessTypeDes() {
		return businessTypeDes;
	}

	public void setBusinessTypeDes(String businessTypeDes) {
		this.businessTypeDes = businessTypeDes;
	}

	public BigDecimal getRefundAmount() {
		return refundAmount;
	}

	public void setRefundAmount(BigDecimal refundAmount) {
		this.refundAmount = refundAmount;
	}

	@Override
	public String toString() {
		return "OrderB2cDO [tradeOrderId=" + tradeOrderId + ", orderId=" + orderId + ", payerUserId=" + payerUserId + ", payerUserAct=" + payerUserAct + ", payeeUserId=" + payeeUserId
				+ ", payeeUserAct=" + payeeUserAct + ", payerBindNo=" + payerBindNo + ", payBankId=" + payBankId + ", tradeAmount=" + tradeAmount + ", goodsName=" + goodsName + ", guaranteeType="
				+ guaranteeType + ", payAmount=" + payAmount + ", sourceIp=" + sourceIp + ", orderStatus=" + orderStatus + ", orderDesc=" + orderDesc + ", addTime=" + addTime + ", updateTime="
				+ updateTime + ", payTime=" + payTime + ", sureReceiveTime=" + sureReceiveTime + ", innerStatus=" + innerStatus + ", innerDesc=" + innerDesc + ", channelType=" + channelType
				+ ", payType=" + payType + ", notifyUrl=" + notifyUrl + ", returnUrl=" + returnUrl + ", orderChannel=" + orderChannel + ", goodsDetail=" + goodsDetail + ", attach=" + attach
				+ ", orderTime=" + orderTime + ", expireTime=" + expireTime + ", openId=" + openId + ", fee=" + fee + ", platChannelId=" + platChannelId + ", businessType=" + businessType
				+ ", productType=" + productType + ", riskParams=" + riskParams + ", settleTime=" + settleTime + ", payParams=" + payParams + ", isUsePwd=" + isUsePwd + ", refundAmount=" + refundAmount + "]";
	}


	
	
	
}